x86: disable PIT irq after S3 resume
authorKeir Fraser <keir.fraser@citrix.com>
Fri, 11 Apr 2008 08:06:11 +0000 (09:06 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Fri, 11 Apr 2008 08:06:11 +0000 (09:06 +0100)
Signed-off-by: Yu Ke <ke.yu@intel.com>
xen/arch/x86/time.c

index c9dbdd929c3d61c935f63c7a7d1d28e0d1783eab..ccefc50cf2cb94de5afb6de9c328c2db0b0d5ef6 100644 (file)
@@ -990,7 +990,7 @@ void __init early_time_init(void)
     setup_irq(0, &irq0);
 }
 
-static int __init late_time_init(void)
+static int __init disable_pit_irq(void)
 {
     if ( !using_pit && cpu_has_apic )
     {
@@ -1001,7 +1001,7 @@ static int __init late_time_init(void)
     }
     return 0;
 }
-__initcall(late_time_init);
+__initcall(disable_pit_irq);
 
 void send_timer_event(struct vcpu *v)
 {
@@ -1036,6 +1036,8 @@ int time_resume(void)
 {
     u64 tmp = init_pit_and_calibrate_tsc();
 
+    disable_pit_irq();
+
     set_time_scale(&this_cpu(cpu_time).tsc_scale, tmp);
 
     resume_platform_timer();